// export const getSum = (a, b) => a + b

// 1-100的和 两个区间直接的和
export const getSum = (a, b) => {
	let sum = 0
	for (let i = a; i <= b; i++) {
		sum += i
	}
	return sum
}
// 形参，实参
export const aru = (a = 1, b = 2) => {
	return a * b
}

// es6中 函数中 arguments 的使用
// export const arg = () => {
//   console.log(arguments); // 报错，箭头函数中是没有 arguments 和this的
// }
// es5中
export const args = function () {
	console.log(arguments[0])
}
// 1.数组去重
export const unique1 = arr => {
	console.log(this)
	let newArr = []
	arr.forEach(item => {
		if (newArr.indexOf(item) === -1) {
			newArr.push(item)
		}
	})
	return newArr
}
// 2.数组去重 es6
export const unique2 = arr => {
	// es6的语法之一
	// return Array.from(new Set(arr))
	// 或者
	return [...new Set(arr)]
}
// 3. includes 方法
export const unique3 = arr => {
	let newarr = []
	arr.forEach(item => {
		if (!newarr.includes(item)) {
			newarr.push(item)
		}
	})
	return newarr
}

// 判断数据类型
export const isArray = value => {
	return Array.isArray(value)
	// return value instanceof Array
}
// 使用原型链方法 构造函数
export const isArray1 = value => {
	return value.__proto__.constructor === Array
}

// 数组方法 map的使用，格式化数组
export const arrMap = val => val.map(e => ({ key: e.id, value: e.name, ...e }))

// promise的使用
export const usePromise = val => {
	// console.log(val);
	return new Promise((resolve, reject) => {
		if (val == 'true') {
			resolve('true')
		} else {
			reject('error')
		}
	})
}
export const operate = (value, e, name) => {
	value.forEach(val => {
		if (val.name == name) {
			for (const key in val.operate) {
				val.operate[key].forEach(ee => {
					ee.check = e
				})
			}
		}
	})
}

// 递归的使用
// export const fn = (val) => {
//   let obj = {}
//   val.forEach(e => {
//     if (val instanceof Array) {
//       fn(e)
//     }else {
//       obj['k1'] = e
//       obj['k2'] = ''
//     }

//   })
// }
export default {
	a: 'aaa'
}
